Low-cost haptic mouse implementations

ABSTRACT

Low-cost haptic interface device implementations for interfacing a user with a host computer. A haptic feedback device, such as a mouse or other device, includes a housing physically contacted by a user, and an actuator for providing motion that causes haptic sensations on the device housing and/or on a movable portion of the housing. The device may include a sensor for detecting x-y planar motion of the housing. Embodiments include actuators with eccentric rotating masses, buttons having motion influenced by various actuator forces, and housing portions moved by actuators to generate haptic sensations to a user contacting the driven surfaces.

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. ProvisionalApplication No. 60/176,108, filed Jan. 14, 2000, entitled, “Low-CostHaptic Mouse Implementations,” and this application is acontinuation-in-part of copending U.S. patent application Ser. No.09/253,132, filed Feb. 18, 1999; Ser. No. 09/456,887, filed Dec. 7,1999; and Ser. No. 09/563,783, filed May 2, 2000, which is acontinuation of application Ser. No. 09/103,281, filed Jun. 23, 1998,all of which are incorporated by reference herein in their entirety.

BACKGROUND OF THE INVENTION

[0002] The present invention relates generally to haptic feedbackinterface devices for use with a computer, and more particularly tolow-cost haptic devices producing tactile sensations.

[0003] Using an interface device, a user can interact with anenvironment displayed by a computer system to perform functions andtasks on the computer, such as playing a game, experiencing a simulationor virtual reality environment, using a computer aided design system,operating a graphical user interface (GUI), or otherwise influencingevents or images depicted on the screen. Common human-computer interfacedevices used for such interaction include a joystick, mouse, trackball,steering wheel, stylus, tablet, pressure-sensitive ball, or the like,that is connected to the computer system controlling the displayedenvironment.

[0004] In some interface devices, force feedback or tactile feedback isalso provided to the user, also known more generally herein as “hapticfeedback.” These types of interface devices can provide physicalsensations which are felt by the user using the controller ormanipulating the physical object of the interface device. One or moremotors or other actuators are used in the device and are connected tothe controlling computer system. The computer system controls forces onthe haptic feedback device in conjunction and coordinated with displayedevents and interactions on the host by sending control signals orcommands to the haptic feedback device and the actuators.

[0005] Many low cost haptic feedback devices provide forces to the userby vibrating the manipulandum and/or the housing of the device that isheld by the user. The output of simple vibration haptic feedback(tactile sensations) requires less complex hardware components andsoftware control over the force-generating elements than does moresophisticated haptic feedback. For example, in many current gamecontrollers for game consoles such as the Sony Playstation and theNintendo 64, one or more motors are mounted in the housing of thecontroller and which are energized to provide the vibration forces. Aneccentric mass is positioned on the shaft of each motor, and the shaftis rotated unidirectionally to cause the motor and the housing of thecontroller to vibrate. The host computer (console unit) providescommands to the controller to turn the vibration on or off or toincrease or decrease the frequency of the vibration by varying the rateof rotation of the motor.

[0006] One problem with these currently-available implementations ofhaptic feedback devices is that the vibrations or other hapticsensations that these implementations produce are very limited andcannot be significantly varied. In addition, gamepad tactile generationdevices may not be as suitable for other types of interface devices, inparticular mouse interfaces or other similar position control inputdevices. The prior art devices also severely limit the haptic feedbackeffects which can be experienced by a user of these devices.

SUMMARY OF THE INVENTION

[0007] The present invention is directed to providing low-cost hapticfeedback capability to a mouse interface device and other interfacedevices that communicate with a host computer or controller. Theembodiments disclosed herein allow haptic sensations to be output bydevices that do not require significant design changes to existinginterface devices.

[0008] More specifically, in one aspect of the present invention, ahaptic feedback mouse device for providing haptic sensations to a userincludes a housing physically contacted by the user and movable in anx-y plane, a sensor coupled to the housing and operative to output asensor signal indicative of the x-y movement, an actuator, and a masscoupled to the actuator, wherein said eccentric mass can be rotated bythe actuator. The rotation of the mass causes inertial haptic sensationsto be output on the housing and felt by the user. In one embodiment, theactuator rotates the eccentric mass approximately in an x-z plane, a y-zplane, or a combination thereof. In another embodiment, the actuatorrotates the eccentric mass approximately in an x-y plane. The inertialforce can be a pulse, vibration, or texture correlated with theinteraction of a user-controlled cursor with a graphical objectdisplayed in a graphical user interface of a host computer.

[0009] In another aspect of the present invention, a haptic feedbackdevice includes a housing physically contacted by the user, where thehousing includes a movable portion and a base portion, wherein themovable portion is movable with respect to the base portion, and wherethe moveable portion includes a magnet. An actuator is coupled to thehousing, and an eccentric mass is coupled to the actuator, where theeccentric mass can be rotated by the actuator. A magnetic interactionbetween said eccentric mass and said magnet causes an inertial hapticsensation to be output on said movable portion of said housing and feltby said user when said user contacts said movable portion, said inertialhaptic sensation influenced by the position of the mass. The movableportion can be a button. The eccentric mass is made of a material thatinteracts magnetically with the magnet, such as iron or steel or apermanently-magnetic material.

[0010] In another aspect of the present invention, a haptic feedbackdevice provides haptic sensations to a user and includes a housingphysically contacted by the user, where the housing includes a movableportion and a base portion, where the movable portion is movable withrespect to the base portion. An actuator is coupled to the housing or tothe movable portion, and a mass coupled to the actuator, where the masscan be rotated by the actuator. A stop member is coupled to the movableportion or the housing and is positioned at least partially in a path ofrotation of the mass, where the mass is moved against the stop toproduce haptic sensations on the movable portion felt by the usercontacting the movable portion. The movable portion can be a button ofthe device. Additional stop members can be provided in the range ofmotion of the mass, and inertial and kinesthetic feedback modes can beprovided.

[0011] In another aspect of the present invention, a haptic feedbackmouse device provides haptic sensations to a user and includes a devicehousing physically contacted by the user and movable in an x-y plane,where the device housing includes a movable portion and a main housingportion, where the movable portion is movable with respect to the mainhousing portion. A moving magnet actuator has an actuator housingcoupled to the device housing and a moving magnet coupled to the movableportion, and a sensor outputs a sensor signal indicative of housingmovement in an x-y plane. In one embodiment, the user can select one ofa hierarchy of graphical objects by moving the movable portion, whereina haptic sensation indicates to the user a selection of each of thegraphical objects in the hierarchy.

[0012] In yet another aspect of the present invention, a haptic feedbackmouse device provides haptic sensations to a user and includes a devicehousing physically contacted by the user and movable in an x-y plane,where the device housing includes a movable portion and a main portion.At least part of the movable portion is positioned on a side of thehousing and is movable with respect to the main portion. A linearactuator has an actuator housing coupled to the device housing and anactuated portion coupled to the movable portion, where the linearactuator moves the movable portion of the device housing linearly awayfrom the main portion of the housing when controlled with a controlsignal, thereby providing a haptic sensation to a user contacting themovable portion. A sensor outputs a sensor signal indicative of housingmovement in the x-y plane. Preferably, the movable portion engages athumb of the user in normal operation of the mouse device.

[0013] The present invention advantageously provides embodiments for alow-cost haptic feedback device that can output a variety of hapticsensations. The actuators can be implemented in existing interfacedevices with relatively little added expense. The presented featuresallow precision in the control of haptic sensations and a compellingrange of sensations to be experienced by the user.

[0014] These and other advantages of the present invention will becomeapparent to those skilled in the art upon a reading of the followingspecification of the invention and a study of the several figures of thedrawing.

BRIEF DESCRIPTION OF THE DRAWINGS

[0015]FIG. 1 is a perspective view of an interface device systemincorporating a haptic feedback device present invention;

[0016]FIG. 2 is a block diagram of a haptic feedback system suitable foruse with the present invention;

[0017]FIG. 3a is a perspective view of a first embodiment of a hapticmouse interface device including a eccentric rotating mass providinginertial haptic sensations;

[0018]FIG. 3b is a perspective view of a second embodiment of a hapticmouse interface device including a eccentric rotating mass providinginertial haptic sensations;

[0019]FIG. 4 is a side elevational view of a haptic mouse interfacedevice including an eccentric rotating mass influencing a magneticbutton;

[0020]FIG. 5 is a perspective view of a haptic mouse interface deviceincluding an eccentric rotating mass engaging a stop member to providehaptic sensations;

[0021]FIG. 6a is a perspective view of a haptic mouse interface deviceincluding a moving magnet actuator providing haptic sensations on abutton of the device;

[0022]FIG. 6b is a perspective view of the top and side of the hapticmouse device of FIG. 6a;

[0023]FIG. 7 is a perspective view of a haptic mouse interface deviceincluding a linear voice coil actuator providing haptic sensations on amovable housing portion;

[0024]FIG. 8 is a diagrammatic illustration of a graphical userinterface including objects associated with haptic sensations; and

[0025]FIG. 9 is a perspective view of an actuator and transmission forproviding forces on a button or other movable member.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0026] Many of the described embodiments of the present invention addhaptic functionality to existing mouse designs. Various actuators andassemblies are preferably provided in a mouse housing in ways that donot require significant design and manufacturing changes to the product.Mice produced according to these embodiments can fall within thestandard mouse price range, and these embodiments add significant newvalue without forcing the computer user to re-think how he or she usesthe mouse.

[0027] The below descriptions often refer to a mouse device as aspecific embodiment of an interface device which is suitable for theembodiments of the present invention. However, the inventive embodimentsdescribed herein are also suitable for a wide variety of other types ofcomputer interface devices which can be enhanced with haptic feedback,including trackballs, gamepad controllers, joysticks, steering wheels,styluses, touchpads, touchscreens, light guns, remote controls, portablecomputers, knobs, etc.

[0028]FIG. 1 is a perspective view of a haptic feedback mouse interfacesystem 10 of the present invention capable of providing input to a hostcomputer and capable of providing haptic feedback to the user of themouse system. Mouse system 10 includes a mouse 12 and a host computer14. It should be noted that the term “mouse” as used herein, indicatesan object generally shaped to be grasped or contacted from above andmoved within a substantially planar workspace (and additional degrees offreedom if available).

[0029] Mouse 12 is an object that is preferably grasped or gripped andmanipulated by a user. For example, a user can move mouse 12 to provideplanar two-dimensional input to a computer system to correspondinglymove a computer generated graphical object, such as a cursor or otherimage, in a graphical environment provided by computer 14 or to controla virtual character, vehicle, or other entity in a game or simulation.In addition, mouse 12 preferably includes one or more buttons 16 a and16 b to allow the user to provide additional commands to the computersystem. Each button can typically be pressed down in the degree offreedom of the button for a travel distance, at the end of which abutton switch is closed and a button signal provided to the hostcomputer to indicate the button has been pressed.

[0030] Mouse 12 preferably includes one or more actuators 18 whichoperative to produce tactile forces on the mouse housing 12, a portionthereof, and/or a button 16. This operation is described in greaterdetail below with reference to FIGS. 3a-7.

[0031] Mouse 12 rests on a ground surface 22 such as a tabletop ormousepad. A user grasps the mouse 12 and moves the mouse in a planarworkspace on the surface 22 as indicated by arrows 24. Mouse 12 may bemoved anywhere on the ground surface 22, picked up and placed in adifferent location, etc. A frictional ball and roller assembly (notshown) can in some embodiments be provided on the underside of the mouse12 to translate the planar motion of the mouse 12 into electricalposition signals, which are sent to a host computer 14 over a bus 20 asis well known to those skilled in the art. In other embodiments,different mechanisms and/or electronics can be used to convert mousemotion to position or motion signals received by the host computer. Forexample, optical sensors can be used; a suitable optical mousetechnology is made by Hewlett Packard of Palo Alto, Calif., where boththe optical emitter and detector are provided on the mouse housing anddetect motion of the mouse relative to the planar support surface byoptically taking and storing a number of images of the surface andcomparing those images over time to determine if the mouse has moved.Alternatively, a portion of an optical sensor can be built into thesurface 22 to detect the position of an emitter or transmitter in mouse12 and thus detect the position of the mouse 12 on the surface 22. Mouse12 is preferably a relative device, in which its sensor detect a changein position of the mouse, allowing the mouse to be moved over anysurface at any location. An absolute mouse may also be used, in whichthe absolute position of the mouse is known but the mouse is typicallylimited to a particular predefined workspace.

[0032] Mouse 12 is coupled to the computer 14 by a bus 20, whichcommunicates signals between mouse 12 and computer 14 and may also, insome preferred embodiments, provide power to the mouse 12. Componentssuch as actuator 18 require power that can be supplied from aconventional serial port or through an interface such as a USB orFirewire bus. In other embodiments, signals can be sent between mouse 12and computer 14 by wireless transmission/reception. In some embodiments,the power for the actuator can be supplemented or solely supplied by apower storage device provided on the mouse, such as a capacitor or oneor more batteries. Some embodiments of such are disclosed in U.S. Pat.No. 5,691,898, incorporated herein by reference.

[0033] Host computer 14 can be a personal computer or workstation, suchas a PC compatible computer or Macintosh personal computer, or a Sun orSilicon Graphics workstation. For example, the computer 14 can operateunder the Windows™, MacOS, Unix, or MS-DOS operating system.Alternatively, host computer system 14 can be one of a variety of homevideo game console systems commonly connected to a television set orother display, such as systems available from Nintendo, Sega, or Sony.In other embodiments, host computer system 14 can be a “set top box”which can be used, for example, to provide interactive televisionfunctions to users, or a “network-” or “internet-computer” which allowsusers to interact with a local or global network using standardconnections and protocols such as used for the Internet and World WideWeb. Host computer preferably includes a host microprocessor, randomaccess memory (RAM), read only memory (ROM), input/output (I/O)circuitry, and other components of computers well-known to those skilledin the art.

[0034] Host computer 14 preferably implements a host application programwith which a user is interacting via mouse 12 and other peripherals, ifappropriate, and which may include force feedback functionality. Forexample, the host application program can be a video game, wordprocessor or spreadsheet, Web page or browser that implements HTML orVRML instructions, scientific analysis program, virtual reality trainingprogram or application, or other application program that utilizes inputof mouse 12 and outputs force feedback commands to the mouse 12. Herein,for simplicity, operating systems such as Windows™, MS-DOS, MacOS,Linux, Be, etc. are also referred to as “application programs.” In onepreferred embodiment, an application program utilizes a graphical userinterface (GUI) to present options to a user and receive input from theuser. Herein, computer 14 may be referred as providing a “graphicalenvironment,”, which can be a graphical user interface, game,simulation, or other visual environment. The computer displays“graphical objects” or “computer objects,” which are not physicalobjects, but are logical software unit collections of data and/orprocedures that may be displayed as images by computer 14 on displayscreen 26, as is well known to those skilled in the art. A displayedcursor or a simulated cockpit of an aircraft might be considered agraphical object. The host application program checks for input signalsreceived from the electronics and sensors of mouse 12, and outputs forcevalues and/or commands to be converted into forces output for mouse 12.Suitable software drivers which interface such simulation software withcomputer input/output (I/O) devices are available from ImmersionCorporation of San Jose, Calif.

[0035] Display device 26 can be included in host computer 14 and can bea standard display screen (LCD, CRT, flat panel, etc.), 3-D goggles, orany other visual output device. Typically, the host application providesimages to be displayed on display device 26 and/or other feedback, suchas auditory signals. For example, display screen 26 can display imagesfrom a GUI.

[0036] In alternative embodiments, the mouse can be a differentinterface or control device. For example, a hand-held remote controldevice used to select functions of a television, video cassetterecorder, sound stereo, internet or network computer (e.g., Web-TV™), ora gamepad controller for video games or computer games, can be used withthe haptic feedback components described herein.

[0037]FIG. 2 is a block diagram illustrating one embodiment of the forcefeedback system suitable for use with any of the described embodimentsof the present invention and including a local microprocessor and a hostcomputer system.

[0038] Host computer system 14 preferably includes a host microprocessor100, a clock 102, a display screen 26, and an audio output device 104.The host computer also includes other well known components, such asrandom access memory (RAM), read-only memory (ROM), and input/output(I/O) electronics (not shown). Display screen 26 displays images of agame environment, operating system application, simulation, etc. Audiooutput device 104, such as speakers, is preferably coupled to hostmicroprocessor 100 via amplifiers, filters, and other circuitry wellknown to those skilled in the art and provides sound output to user whenan “audio event” occurs during the implementation of the hostapplication program. Other types of peripherals can also be coupled tohost processor 100, such as storage devices (hard disk drive, CD ROMdrive, floppy disk drive, etc.), printers, and other input and outputdevices.

[0039] Mouse 12 is coupled to host computer system 14 by a bidirectionalbus 20 The bi-directional bus sends signals in either direction betweenhost computer system 14 and the interface device. Bus 20 can be a serialinterface bus, such as an RS232 serial interface, RS-422, UniversalSerial Bus (USB), MDI, or other protocols well known to those skilled inthe art; or a parallel bus or wireless link. For example, the USBstandard provides a relatively high speed interface that can alsoprovide power to actuator 18.

[0040] Mouse 12 can include a local microprocessor 110. Localmicroprocessor 110 can optionally be included within the housing ofmouse 12 to allow efficient communication with other components of themouse. Processor 110 is considered local to mouse 112, where “local”herein refers to processor 110 being a separate microprocessor from anyprocessors in host computer system 14. “Local” also preferably refers toprocessor 110 being dedicated to haptic feedback and sensor I/O of mouse12. Microprocessor 110 can be provided with software instructions (e.g.,firmware) to wait for commands or requests from computer host 14, decodethe command or request, and handle/control input and output signalsaccording to the command or request. In addition, processor 110 canoperate independently of host computer 14 by reading sensor signals andcalculating appropriate forces from those sensor signals, time signals,and stored or relayed instructions selected in accordance with a hostcommand. Suitable microprocessors for use as local microprocessor 110include the MC68HC711E9 by Motorola, the PIC16C74 by Microchip, and the82930AX by Intel Corp., for example, as well as more sophisticated forcefeedback processors such as the Immersion Touchsense Processor.Microprocessor 110 can include one microprocessor chip, multipleprocessors and/or co-processor chips, and/or digital signal processor(DSP) capability.

[0041] Microprocessor 110 can receive signals from sensor 112 andprovide signals to actuator 18 in accordance with instructions providedby host computer 14 over bus 20. For example, in a local controlembodiment, host computer 14 provides high level supervisory commands tomicroprocessor 110 over bus 20, and microprocessor 110 decodes thecommands and manages low level force control loops to sensors and theactuator in accordance with the high level commands and independently ofthe host computer 14. This operation is described in greater detail inU.S. Pat. Nos. 5,739,811 and 5,734,373, both incorporated by referenceherein. In the host control loop, force commands are output from thehost computer to microprocessor 110 and instruct the microprocessor tooutput a force or force sensation having specified characteristics. Thelocal microprocessor 110 reports data to the host computer, such aslocative data that describes the position of the mouse in one or moreprovided degrees of freedom. The data can also describe the states ofbuttons 16 and safety switch 132. The host computer uses the locativedata to update executed programs. In the local control loop, actuatorsignals are provided from the microprocessor 110 to actuator 18 andsensor signals are provided from the sensor 112 and other input devices118 to the microprocessor 110. Herein, the term “tactile sensation”refers to either a single force or a sequence of forces output by theactuator 18 which provide a sensation to the user. For example,vibrations, a single jolt, or a texture sensation are all consideredtactile sensations. The microprocessor 110 can process inputted sensorsignals to determine appropriate output actuator signals by followingstored instructions. The microprocessor may use sensor signals in thelocal determination of forces to be output on the user object, as wellas reporting locative data derived from the sensor signals to the hostcomputer.

[0042] In yet other embodiments, other hardware can be provided locallyto mouse 12 to provide functionality similar to microprocessor 110. Forexample, a hardware state machine incorporating fixed logic can be usedto provide signals to the actuator 18 and receive sensor signals fromsensors 112, and to output tactile signals according to a predefinedsequence, algorithm, or process. Techniques for implementing logic withdesired functions in hardware are well known to those skilled in theart. Such hardware can be better suited to less complex force feedbackdevices, such as the device of the present invention.

[0043] In a different, host-controlled embodiment, host computer 14 canprovide low-level force commands over bus 20, which are directlytransmitted to the actuator 18 via microprocessor 110 or othercircuitry. Host computer 14 thus directly controls and processes allsignals to and from the mouse 12, e.g. the host computer directlycontrols the forces output by actuator 18 and directly receives sensorsignals from sensor 112 and input devices 118. This embodiment may bedesirable to reduce the cost of the force feedback device yet further,since no complex local microprocessor 110 or other processing circuitryneed be included in the mouse. Furthermore, since one actuator 18 isused with forces not provided in the primary sensed degrees of freedom,the local control of forces by microprocessor 110 may not be necessaryin the present invention to provide the desired quality of forces. Otherembodiments may employ a “hybrid” organization where some types of forceeffects (e.g. closed loop effects or high frequency effects) arecontrolled purely by the local microprocessor, while other types ofeffects (e.g., open loop or low frequency effects) may be controlled bythe host.

[0044] In the simplest host control embodiment, the signal from the hostto the device can be a single bit that indicates whether to pulse theactuator at a predefined frequency and magnitude. In a more complexembodiment, the signal from the host could include a magnitude, givingthe strength of the desired pulse. In yet a more complex embodiment, thesignal can include a direction, giving both a magnitude and a sense forthe pulse. In still a more complex embodiment, a local processor can beused to receive a simple command from the host that indicates a desiredforce value to apply over time. The microprocessor then outputs theforce value for the specified time period based on the one command,thereby reducing the communication load that must pass between host anddevice. In an even more complex embodiment, a high-level command withtactile sensation parameters can be passed to the local processor on thedevice which can then apply the full sensation independent of hostintervention. Such an embodiment allows for the greatest reduction ofcommunication load. Finally, a combination of numerous methods describedabove can be used for a single mouse device 12.

[0045] Local memory 122, such as RAM and/or ROM, is preferably coupledto microprocessor 110 in mouse 12 to store instructions formicroprocessor 110 and store temporary and other data. For example,force profiles can be stored in memory 122, such as a sequence of storedforce values that can be output by the microprocessor, or a look-uptable of force values to be output based on the current position of theuser object. In addition, a local clock 124 can be coupled to themicroprocessor 110 to provide timing data, similar to system clock 18 ofhost computer 12; the timing data might be required, for example, tocompute forces output by actuator 18 (e.g., forces dependent oncalculated velocities or other time dependent factors). In embodimentsusing the USB communication interface, timing data for microprocessor110 can be alternatively retrieved from the USB signal.

[0046] In some embodiments, host computer 14 can send a “spatialrepresentation” to the local microprocessor 110, which is datadescribing the locations of some or all the graphical objects displayedin a GUI or other graphical environment which are associated with forcesand the characteristics of these graphical objects. The microprocessorcan store such a spatial representation in local memory 122, and thuswill be able to determine interactions between the user object andgraphical objects (such as the rigid surface) independently of the hostcomputer. Also, the local memory can store predetermined forcesensations for the microprocessor that are to be associated withparticular types of graphical objects.

[0047] Sensors 112 sense the position or motion of the mouse device(e.g. the housing 50) in its 35′ planar degrees of freedom and providessignals to microprocessor 110 (or host 14) including informationrepresentative of the position or motion. Sensors suitable for detectingplanar motion of a mouse include digital optical encoders frictionallycoupled to a rotating ball or cylinder, as is well known to thoseskilled in the art. Optical sensor systems, linear optical encoders,potentiometers, optical sensors, velocity sensors, acceleration sensors,strain gauge, or other types of sensors can also be used, and eitherrelative or absolute sensors can be provided. Optional sensor interface114 can be used to convert sensor signals to signals that can beinterpreted by the microprocessor 110 and/or host computer system 14, asis well known to those skilled in the art.

[0048] Actuator(s) 18 transmits forces to the housing 50, button 16, orother portion of the mouse in response to signals received frommicroprocessor 110 and/or host computer 14, and is described in greaterdetail below. Many types of actuators can be used, including a rotary DCmotors, voice coil actuators, moving magnet actuators,pneumatic/hydraulic actuators, solenoids, speaker voice coils,piezoelectric actuators, passive actuators (brakes), etc. In many of theimplementations herein, the actuator has the ability to apply shortduration force sensation on the housing or handle of the mouse. Thisshort duration force sensation is described herein as a “pulse.” The“pulse” can be directed substantially along a Z axis orthogonal to theX-Y plane of motion of the mouse. In progressively more advancedembodiments, the magnitude of the “pulse” can be controlled; the senseof the “pulse” can be controlled, either positive or negative biased; a“periodic force sensation” can be applied on the handle of the mouse,where the periodic sensation can have a magnitude and a frequency, e.g.a sine wave; the periodic sensation can be selectable among a sine wave,square wave, saw-toothed-up wave, saw-toothed-down, and triangle wave;an envelope can be applied to the period signal, allowing for variationin magnitude over time; and the resulting force signal can be “impulsewave shaped” as described in U.S. Pat. No. 5,959,613. There are two waysthe period sensations can be communicated from the host to the device.The wave forms can be “streamed” as described in U.S. Pat. No. 5,959,613and provisional patent application 60/160,401, both incorporated hereinby reference in their entirety. Or the waveforms can be conveyed throughhigh level commands that include parameters such as magnitude,frequency, and duration, as described in U.S. Pat. No. 5,734,373.

[0049] Alternate embodiments can employ additional actuators forproviding tactile sensations or forces in the planar degrees of freedomof the mouse 12. For example, the mouse can be enhanced with a secondaryactuator. Because of power constraints, this secondary means can bepassive (i.e., it dissipates energy) in some embodiments. The passiveactuator can be a brake, such as a magneto-rheological fluid brake ormagnetic brake. The passive braking means can be employed through africtional coupling between the mouse housing and the table surface 22.When the brake is engaged, the user can feel the passive resistance tomotion of the mouse (in one or two degrees of freedom). Actuatorinterface 116 can be optionally connected between actuator 18 andmicroprocessor 110 to convert signals from microprocessor 110 intosignals appropriate to drive actuator 18. Interface 38 can include poweramplifiers, switches, digital to analog controllers (DACs), analog todigital controllers (ADCs), and other components, as is well known tothose skilled in the art.

[0050] Other input devices 118 are included in mouse 12 and send inputsignals to microprocessor 110 or to host 14 when manipulated by theuser. Such input devices include buttons 16 and can include additionalbuttons, dials, switches, scroll wheels, or other controls ormechanisms.

[0051] Power supply 120 can optionally be included in mouse 12 coupledto actuator interface 116 and/or actuator 18 to provide electrical powerto the actuator or be provided as a separate component. Alternatively,and more preferably, power can be drawn from a power supply separatefrom mouse 12, or power can be received across a USB or other bus. Also,received power can be stored and regulated by mouse 12 and thus usedwhen needed to drive actuator 18 or used in a supplementary fashion, asdescribed in copending application Ser. No. 09/456,887, filed Dec. 7,1999, and incorporated herein by reference in its entirety. A safetyswitch 132 can optionally be included to allow a user to deactivateactuator 18 for safety reasons.

Embodiments of the Present Invention

[0052] Several embodiments of mouse interface device 12 providing hapticsensations to the user are described below. Preferred embodimentsprovide one or more of several desirable characteristics for a hapticmouse designed for the consumer market. One desirable characteristic isthat the mouse should feel like it is “alive” to the user, like theforces are coupling into the user's body. The “alive” quality is oftendetermined by system compliance, actuator authority, andtransmissibility into the hand. Furthermore, it is preferred that themoving member or portion be spring centered so that vibrations/forces donot disappear or get clipped. Preferably, user effort is not required tomaintain contact with the moving feedback surface while using the mouse.The mouse preferably also provides feedback for a range of user grippostures, e.g. palming, gripping, and finger tip usage. If possible, thehaptic feedback should be in an axis that is substantially de-coupledfrom position input in the x-y plane. Preferably, the haptic feedbackdoes not interfere with button operation by the user or button closureperception, and the mouse should work seamlessly as a normal mouse whenthe user is not paying attention to forces. The mouse should have verygood fidelity at high frequencies (e.g., 200 to 20 Hz) and convey lowerfrequencies (e.g., <20 Hz) with enough displacement that they areperceptible. Overall, the haptic mouse should add value with minimalsacrifice and cost.

[0053]FIG. 3a is a perspective view of a mouse device 200 providingtactile sensations to a user with an eccentric rotating mass to provideinertial forces, such as vibrations. A lower base portion 202 of themouse housing can include a ball sensor 204, a mouse wheel 206, circuits(not shown), and other standard components. In addition, a rotary motor208 can be coupled to the base 202, where a rotary shaft 210 of themotor is coupled to an eccentric mass 212 positioned so that the centerof mass of the mass 212 is offset from the center of rotation of theshaft 210. A cover portion 214, shown in dashed lines, can be normallypositioned over the base portion 202.

[0054] The eccentric mass 212 is rotated by the motor 208 to causeinertial tactile sensations on the mouse housing. The inertialsensations are caused by the inertia produced by the eccentric rotationof the mass, which causes a wobbling motion that is transmitted throughactuator to the housing. The user contacting the housing can feel thesensations. The sensations can be determined from host commands,signals, or local determination, as explained above. In one embodiment,the mass 212 is rotated in a single direction. In another embodiment,the mass 212 can be rotated harmonically (in two directions). Some mouseembodiments can allow both uni-directional and bidirectional modes, e.g.a host command from the host computer can determine which mode iscurrently operational.

[0055] In embodiment 200, the motor 208 is positioned such that theeccentric mass 212 rotates in approximately the y-z plane, where theshaft of the motor extends parallel to the x-axis. Thus, the inertialforces output by the rotation of the mass are along the y- and z-axes.If the mass is rotated quickly enough and/or if the inertial forces onthe housing are of high enough magnitude, the mouse may be moved orvibrated along the y-axis and the portion of the forces output in they-axis may cause a controlled object, such as a displayed cursor, tochange its y position in a graphical environment in response to motoractivation. If this effect is undesired, it can be alleviated in someembodiments by providing a selective disturbance filter, as described inU.S. Pat. No. 6,020,876 and incorporated herein by reference in itsentirety.

[0056] The embodiment 200 can produce strong forces to the user if themass 212 is rotated quickly. In some embodiments, forces output to theuser can be dependent on the initial state of the motor/mass. Forexample, if the eccentric mass were initially positioned at the bottomof its rotational range, a “pop” sensation (e.g. one or a small numberof quick mass rotations) would feel different than if the mass wereinitially positioned at the top of its range. Rotating mass controlfirmware and a sensor that reads mass rotational position may be used toimprove the eccentric mass control and make particular force sensationsalways feel the same. For example, copending application Ser. No.09/669,029, filed. Sep. 25, 2000, describes methods to control aneccentric rotating mass that can be used in the present invention, andis incorporated herein by reference in its entirety. A harmonic drive,in which the mass is driven in both directions about its rotationalaxis, higher-fidelity force effects may, in general, be obtained, asdescribed in copending application Ser. No. 09/608,125, which isincorporated herein by reference in its entirety. Also, firmware orcontrol software can be used to translate low frequency periodic drivesignals into short duration pulses that start the mass moving from aknown position.

[0057] In some embodiments, the eccentric mass 212 can be drivenharmonically (bi-directionally) against one or more stop members, suchas pins, that are coupled to the base 202 or cover 214 of the mousehousing. The impact force of the mass against the stop members causesdifferent types of force sensations that can be provided instead of orin addition to inertial sensations. Sensations resulting from such stopmembers is described in greater detail below.

[0058]FIG. 3b is a perspective view of a mouse device 220 providingtactile sensations to a user with an eccentric rotating mass. Embodiment220 is similar to mouse 200 described above, and can include a lowerbase portion 222, a ball (or other type) sensor 224, a mouse wheel 226,circuits (not shown), and other standard components. A rotary motor 228can be coupled to the base 222, where a rotary shaft 230 of the motor iscoupled to an eccentric mass 232 positioned so that the center of massof the mass 232 is offset from the center of rotation of the shaft 230.A cover portion 234, shown in dashed lines, can be normally positionedover the base portion 222.

[0059] Embodiment 220 differs from embodiment 200 in that the motor 228is positioned such that the shaft 230 is parallel to the z-axis androtates the eccentric mass 232 in the x-y plane. The inertial sensationsare similar to those produced by embodiment 220, except that the forcesare provided in the x-y plane. If the inertial sensations are low enoughmagnitude, then targeting activities of the mouse are typicallyunaffected. If the inertial sensations are strong enough, however, theymay cause the mouse and any controlled graphical object to be moved inthe x-y plane, possibly throwing off the cursor from a desired target,and thus may be more undesirable than the embodiment 200 which only maycause mouse movement along the y-axis. Smaller masses 232 (and thussmaller forces) can reduce the disturbances. This embodiment may besuitable as an “anti-targeting” device; e.g. a particular game or otherapplication may require or desire forces that prevent a user fromtargeting a cursor or other object accurately. The other featuresdescribed for embodiment 200 can also be employed for embodiment 220.

[0060]FIG. 4 is a side elevational view of another embodiment 250 of atactile mouse which can output haptic sensations on a mouse button orother moveable portion of an interface device. Mouse 250 can include thestandard device components detailed above. Mouse 250 includes a motor252 coupled to the housing of the mouse, such as a DC rotary (e.g.pager) motor or other type of actuator, and which rotates an eccentricmass 254. For example, the motor 252 is mounted to the bottom 253 of themouse housing 251 in the embodiment shown. The mass can be rotated inany configuration, but the rotating motor shaft is preferably orientedin the x-y plane so that the eccentric mass 254 rotates in a y-z planeor an x-z plane, or a combination of both. Mouse 250 also includes abutton 256 to which a permanent magnet 258 is coupled. In the embodimentshown, the magnet 258 is coupled to the underside of the button 256.Button 256 is hinged and can move approximately as shown by arrow 260.The user can depress the button to activate a switch and send a buttonsignal to the host computer, as is well known on mouse and otherinterface devices.

[0061] The eccentric mass 254 can be controlled similarly to theeccentric masses described above to provide inertial tactile sensationsto the user contacting the housing of the mouse. For example, the mass254 can be rotated in one direction or can be controlled harmonically tomove in two directions about its rotational axis to provide the desiredinertial sensations. The harmonic control tends to more efficientlycouple vibrations to the housing inertially at higher frequencies.

[0062] Furthermore, embodiment 250 allows tactile sensations to beoutput on the button 256. When the eccentric mass 254 is rotated to thetop of its rotational range, i.e., its closest position to the magnet258, the mass magnetically influences the button 256 by attracting themagnet 258 toward the mass 254. For example, the mass 254 can be made ofa metal, such as iron or steel, that magnetically interacts with themagnet 258. If the magnetic attraction force is strong enough, it maycause the button 256 to move in the direction toward the mass 254;however, the forces are preferably made sufficiently weak to not causethe button switch to close. This allows the user to press the buttonwhen desired with little or no interference from forces output in thebutton's degree of freedom. For example, the button travel range can bemade large enough and can include a sensor to detect button position, sothat when the button reaches a position near to the button switch, theforces are reduced by moving the mass away, allowing a button clickuninfluenced by the magnetic forces.

[0063] As the mass 254 rotates away from the magnet 258, the magneticattraction force reduces in magnitude, and the button 256 is allowed tomove back to its origin position due to a physical centering springprovided on the button 256 (e.g., the centering spring can be providedwithin the hinge of the button, or is a separate physical spring). Thus,the button 256 experiences an oscillating magnetic force (e.g., avibration) if the mass 254 is continually rotated in one direction,where the frequency of oscillation is controlled by the frequency ofrotation of the mass. If the user is contacting the button, the userexperiences haptic sensations through the button; these sensations mayinclude actual motion of the button up or down in the degree of freedomof the button. The user also may experience inertial tactile sensationsthrough the housing of the mouse caused by the rotation of the eccentricmass.

[0064] Alternatively, the motor 252 and eccentric mass 254 can be usedto impart forces in the degree of freedom of the button 256 in a“kinesthetic button mode.” In this mode, kinesthetic forces such asresistance to movement of the button in its degree of freedom, springforces in the button degree of freedom, damping forces in the buttondegree of freedom, etc., can be output. A particular magnitude of thekinesthetic force is determined by the position of the mass with respectto the magnet at that point in time. Thus, a strong attraction (orresistive) force is applied when the mass is very close to the magnet,while a weaker attraction (or resistance) is applied when the mass hasbeen rotated to a position further from the magnet. Mass position can bemodulated according to the desired relationship, e.g. a spring force iscreated by providing a resistive force having a magnitude based on thecurrent position of the button 256 in its degree of freedom (the currentbutton position can be read by a dedicated sensor). A mapping ofeccentric mass position to resistance (or attractive force) magnitudecan be provided, e.g. the local microprocessor can access such a mappingto determine how to control mass position.

[0065] If the eccentric mass is made of a metal such as iron or steel,the force between magnet and mass are attractive. In other embodiments,the mass 254 can be made of a permanent magnetic material. Depending onthe polarities of the sides of the magnet 258 and mass 254 facing eachother, the magnetic force will then either be attractive or repulsive,allowing either an attractive or repulsive force on the button 256. Insome embodiments, both attractive and repulsive forces can beimplemented, and either can be selected by the local microprocessor,host computer, etc. For example, if flux is added or subtracted from asteel or iron mass 254, attractive or repulsive forces can beimplemented. For example, a wire coil can be wrapped around the mass 254and a current flowed therethrough (the current can be controlled by alocal processor, for example), allowing flux to be added or subtractedand thus allowing both attractive and repulsive forces to beimplemented.

[0066] In some embodiments, the mass can also be rotatedbi-directionally using harmonic control, as described above. Forexample, a sine wave can control the harmonic motion of the mass,allowing vibrations to be imparted on the button 256.

[0067] The mouse can also be provided with multiple different modes,each mode moving the mass in a different way or according to a differentcontrol method to produce a different type of haptic sensation. Forexample, firmware on the mouse processor, and/or host software, canselectively control this multiple-mode ability. For example, tactile andkinesthetic modes can be provided. In one example, when the cursor ismoved within a displayed window, a vibration can be output on the button256 in tactile mode. When the user presses the button to select an iconin that window, kinesthetic mode can be initiated and a spring force canbe output on the button to resist the button's motion downward (orattract the button to decrease the force necessary for the user to pushthe button). Other embodiments can also or alternatively includeharmonic and uni-directional mass rotation modes for different types oftactile sensations.

[0068] Multiple buttons of the mouse or other interface device caninclude a magnet 258. Each button can have an eccentric motor/massdedicated to that button, or multiple buttons can be magneticallyinfluenced by a single motor and/or eccentric mass. In yet otherembodiments, other moving portions of the mouse 250 can be provided witha magnet similar to magnet 258 and be moved with respect to the “baseportion” of the mouse, which in this embodiment is the remaining portionof the housing except the movable portion. For example, a cover portionof the mouse hinged to the base portion can be provided with a magnet sothat the entire cover portion is vibrated or induced with magneticforces based on the position of the eccentric mass 254 during itsrotation. Or, a portion of the housing that is pivotally or translatablycoupled to the rest of the housing can be magnetically influenced. Someembodiments of moveable mouse portions are described in U.S. Pat. No.6,088,019, incorporated herein by reference in its entirety.

[0069]FIG. 5 is a perspective view of another embodiment 270 of a mouseproviding haptic sensations on a button. The upper portion 272 of mouse270 is shown, which is intended to mate with a bottom portion, e.g. abase similar to those shown with respect to FIGS. 3a and 3 b, or othertype of base. Two mouse buttons 274 and 276 are shown from the undersideof the upper portion 272. The buttons 274 and 276 are coupled to thehousing portion 272 at a hinge 278. The housing of a rotary motor 280 iscoupled directly to the button 276 such that the button 276 can still bemoved and pressed by the user in normal fashion; when the button ismoved, the motor 280 is also moved. An eccentric mass 282 is coupled toa rotating shaft 284 of the motor 280. The mass 282 can be similar tothe eccentric masses described above.

[0070] A number of eccentric rotating mass motors, voice-coils, speakeractuators, and/or other types of actuators can be attached to adisplaceable surface of the mouse, such as the mouse button 276 or amoveable portion of the top or side of the mouse housing, for example.These actuators can all produce a vibration on the displaceable surface.Thus, a freely-rotating mass 282 will produce a vibration on the button276 to which the motor 280 is attached due to the inertial forces. Someactuators are capable of harmonic drive, providing high bandwidth at theexpense of power consumption. Harmonically-driven actuators are able toproduce vibrations as well as “clicks”, e.g. single pulses of force.

[0071] In other embodiments, an grounded stop 284 can be positioned inthe rotatable range of the mass 282 to block the rotation of the mass.For example, the stop 284 can be a pin or screw that is mounted to thehousing 272 and extends into the rotational range of the mass. Inunidirectional operation, a force can be applied to the button 276 bydriving the mass 282 against the stop 284. Since the stop 284 isgrounded, this causes the motor 280 and button 276 to move in the degreeof freedom of the button as the mass 282 pushes against the stop 284. Insome embodiments, the resulting force may not be of sufficient magnitudeto actually move the button and motor, but a force is applied to themotor and button in the button's degree of freedom.

[0072] Alternatively, the actuator 280 can be grounded to the housing272 while the stop 284 is coupled to the movable portion, such as button276. This can provide similar sensations to those generated by agrounded stop and floating actuator.

[0073] Similar to the embodiment of FIG. 4, different tactile modes canbe provided; in some embodiments, one of multiple modes can be selectedby the controller of the motor 280. For example, in a vibration mode, aseries of discrete activation pulses can be sent to the motor 280 todrive the eccentric mass 282 against the stop 284 at regular periodic(or irregular, if desired) intervals, causing a vibration on the button.

[0074] Kinesthetic forces for a kinesthetic mode are not easily achievedexcept for the embodiments where an actuator engages one or morelimiting stops 284 and can then displace the movable surface if currentis controlled. For example, in a kinesthetic force mode, the mass 282can be driven continuously against the stop 284 to cause a constantresistance force on the button 276 in its degree of freedom, or othertype of force. For example, a spring force can be output by controllingthe constant force on the button to be dependent on button positionaccording to the relation F=kx, where x is the position of the button inthe button's degree of freedom (a dedicated sensor can be provided todetect button position in the button degree of freedom).

[0075] In harmonic operation, the mass 282 can be driven in twodirections, so that the mass can provide a vibration when it is betweenstops, and can be impacted with the stop 284 on either side of the stopto provide kinesthetic sensations or a different type of vibrationsensation. For example, a variety of vibration sensations can beprovided, such as moving the mass against either side of a stopalternately, or by driving the mass against the stop, then moving itaway, etc. A kinesthetic mode can be controlled in either direction ofthe button in its degree of freedom by moving the mass against acorresponding side of the stop and causing a force on the button bycontinuously forcing the mass against the stop. In some embodiments, twostops can be provided to define a range of rotation for the mass 282.Such a configuration can cause a vibration on the button when the massis operated harmonically between limit stops, and can provide akinesthetic force control mode when the mass is forced against one ofthe stops. Actuators such as a spring biased solenoid can also be usedsince these actuators can be harmonic or can provide two basic forcesfrom impact if driven to the end of their stroke.

[0076] Other embodiments described herein, such as those of FIGS. 3a and3 b, can also employ one or more stops in the range of motion of theeccentric mass to provide different haptic sensations. Another exampleof a tactile mouse includes an eccentric rotating mass motor coupled tomouse housing or the movable portion, and two stop members coupled tothe other of the movable portion or mouse housing. The stop membersdefining a range of rotation of the mass. The rotating mass can shakethe mouse housing and transmit inertial vibrations when operatedharmonically between the limits defined by the stops. Then, if the motoris brought to bear against one of the stop members, the button surfacemay be displaced by controlling the motor current. This kind of motorworking against a stop member is not like a bidirectional linearactuator because there is an inherent dead band, but spring effects canstill be output in one direction of the button or the mass canintentionally impact the stop to generate “pops.”

[0077] Some embodiments of mouse 270 may have inconsistent force outputfor reasons similar to other eccentric rotating mass embodiments: theinitial conditions (position and velocity) of the eccentric mass mayinfluence how the actuator operates in response to different drive inputsignals. As a result, the force effects may not feel repeatable orconsistent and may be undesirable. For example, a command signal thatcommands a pulse effect when the cursor crosses over an icon may causethe force effect to be output too late, after the icon was crossed bythe cursor, due to the time it takes for the mass to be acceleratedagainst a stop. In some cases, rebound forces may counteract the nextpulse and obscure subsequent effects. Such disadvantages may be solvedin some embodiments by providing controlling methods and/or a sensorthat detects mass rotational position that maintain the mass in a knownposition so that force sensations are repeatable and consistent. Gamepadmotor control as described in application Ser. No. 09/669,029 may alsobe used.

[0078]FIGS. 6a and 6 b are perspective views of another embodiment 300of a tactile mouse of the present invention. In FIG. 6a, an upperportion 302 of mouse 300 is shown, which is intended to mate with abottom portion, e.g. a base similar to those shown with respect to FIGS.3a and 3 b, or other type of base. Two mouse buttons 304 and 306 areshown from the underside of the upper portion 302.

[0079] In embodiment 300, a moving-magnet actuator 310 is grounded tothe housing 302. A moving magnetic portion 311 and bearing of theactuator 310 rotates about axis A and is coupled to the mouse button 306by an extension member 313 which is guided by a support structure 312.Thus, the rotation of the moving magnet causes a force on the button 306about that axis and directly in the degree of freedom of the button,allowing forces in either direction of that button's degree of freedomto be output when rotary forces are output by the actuator. This causesthe button to pivot approximately about the axis of rotation. Thismotion of button 306 is shown in FIG. 6b by arrow 314. For example, halfof a moving-magnet actuator as described in copending application Ser.No. 09/565,207, incorporated herein by reference in its entirety, can beused for actuator 310. Other types of moving-magnet actuators can alsobe used. In one embodiment, the actuator can produce several ounces offorce at the button leading edge (the front tip of the button) where thestroke is, for example, about +/−0.125 in. The direct drive movingmagnet implementation is capable of very high fidelity haptics. Thebuttons 304 and 306 can be coupled to the housing portion 302 at a hinge308, or may be coupled only to the moving magnetic portion 311 or shaftof the actuator.

[0080] This embodiment can also be realized with a number of actuatorsand transmissions. Other embodiments and features of providing hapticfeedback on a mouse button or other types of buttons are described incopending application Ser. Nos. 09/253,132 and 09/156,802, bothincorporated herein by reference in their entirety. The forces areoutput approximately along the z-axis since the button movesapproximately along that axis, and therefore the forces need notinterfere with the movement of the mouse in the x-y plane. This makes italso well suited to providing the feel of a third dimension in relationto the two-dimensional plane of a display screen.

[0081] In some embodiments, the button can be biased to the top (upperlimit) of its travel range; this allows a greater range of buttonmovement in the down direction and can eliminate or reduce a loss offorce that may occur for negative alternation when the button limit isreached. A physical spring (e.g. a leaf spring or other type of spring)can be used to bias the button to the top of its travel. This may cause,in some embodiments, the button to stick up above the top surface of themouse housing and increased the finger force and stroke to close thebutton switch.

[0082] This embodiment can alternatively provide a button bias that isspring balanced and held in the center of its travel. Spring biasing thebutton tends to provide more effective force sensations to the user thanwithout the spring biasing.

[0083] Embodiments including haptic sensations on a mouse button may bemore suitable for focused, high concentration tasks such as desktopapplications. One advantage on other designs is its output of lowfrequency forces, allowing users to receive a good illusion of surfaceprofile and texture as the cursor is moved across icons and menus. Ingaming applications, pushing down on the button surface may overpowerthe forces. This is may not be desirable for particular games, e.g.shooting games. Additionally, the user may lose the feedback sensationswhen the index finger is not in place on the button. In someembodiments, the moving surface can be enlarged, or a surroundingportion of housing can be caused to move around the button (instead ofthe button being provided with forces, as described in copendingapplication Ser. No. 09/156,802. This may also alleviate the buttonclosure interference/long stroke issue since a standard button can beused.

[0084]FIG. 7 is a perspective view of another embodiment 320 of atactile mouse of the present invention. The upper portion 322 of mouse320 is shown, which is intended to mate with a bottom portion, e.g. abase similar to those shown with respect to FIGS. 3a and 3 b, or othertype of base. Two mouse buttons 324 and 326 are shown from the undersideof the cover portion 322.

[0085] The cover portion 322 includes a movable surface portion 328which can be moved relative to the cover portion 322 (or other remainingmain portion of the housing). In the example shown, the movable portion328 is positioned on the side of the mouse, where the user's thumb maycontact the portion 328 during normal operation of the mouse. In thisembodiment, the movable portion 328 may be moved in a directionapproximately perpendicular to the side surface of the mouse (or othersurface that immediately surrounds the movable portion) andapproximately parallel to the x-axis of the mouse planar workspace, asshown by arrow 330. The moveable portion 328 can be coupled to the coverportion 322 by a spring or hinge that allows the outward motion of arrow330. For example, foam can be used to act as a biasing spring to centerthe moving surface in its degree of freedom; other types of springs canalso be used. This bias forces the user's thumb outward when the mouseis gripped normally. In the embodiment shown, the movable portion 328does not have button functionality such as a switch activated bypressing the portion 328, but alternate embodiments can include suchfunctionality if desired.

[0086] A linear voice coil 332, or other type of actuator providinglinear motion, is coupled to the cover portion 322 (or other portion ofthe housing). For example, the voice coil 332 can be coupled to anextension 324 of the housing 322. The voice coil 332 includes alinearly-moving bobbin 334 that is directly coupled to the movableportion 328 so that the voice coil actuator 332 directly moves theportion 328. The movable portion 328 also magnetically centers itself inits degree of freedom due to the magnetic characteristics of the voicecoil 332. One example of a linear voice coil suitable for use in mouse320 is described in copending application Ser. No. 09/156,802.

[0087] Since the forces on the user are output only parallel to only oneaxis of mouse movement, such as the x-axis, forces meant for the y-axiscan also be output on the x-axis-moving portion 328. The mapping fromx-axis and y-axis to a single x-axis may present some perceptualchallenges for the user. For example, position-based effects may makeless sense to the user in this embodiment than in embodiments providingz-axis or both x- and y-axis forces, but still may be entertaining forthe user. Clicks and pops are not directional and are well-suited tothis embodiment. In some embodiments, a second moveable housing portionand dedicated voice coil actuator, similar to the thumb portion 328 andactuator 332, can be positioned to better map y-axis forces, e.g. such asecond movable portion can be positioned on the front or back of themouse housing and contact the user's fingers or palm.

[0088] Other embodiments can also be provided. For example, the entirecover portion, or a designated area of the cover portion, may be movedin the z-direction against the user's palm or fingers by a voice coilactuator or other type of actuator that directly moves the coverportion. The upper portion of the mouse housing can be flexibly coupledto the lower portion or base of the mouse so that the upper portion canbe moved on the z-axis relative to the lower portion. Kinesthetic forcesmay not be perceived as easily by the user as tactile (e.g. vibration)forces, but this can be remedied by increasing the travel distance ofthe moving housing portion. Examples of such an embodiment are describedin greater detail in U.S. Pat. No. 6,088,019, which is incorporatedherein by reference in its entirety.

[0089] This embodiment offers some advantages in that the user is alwaysexperiencing force sensations while operating the mouse since the entireupper cover portion is moved. Some users may not palm the mouse in use,but rather grasp the side edges of the mouse. To accommodate this, thecover portion can be extended to the side areas or side grip surfaces orridges can be made more pronounced to enhance feedback from the gap areain this grasp mode. It may not be necessary in some embodiments to palmthe mouse to receive compelling tactile feedback due to feelingvibrations caused by the moving housing. If only a smaller portion ofthe upper housing portion is movable, then the user can avoid holdingdown and overpowering the moving portion. For example, displacing anisland of plastic sealed by a bellows can provide just as effectiveforce feedback as displacing the whole upper housing portion.

[0090] Furthermore, a gap formed by the split housing, between the upperand lower shells, creates a differentially displaced surface. Since thetwo portions of mouse housing are pinched to provide movement, the usermay contact the gap when operating the mouse. When the two halves of thehousing pinch together or apart, the user receives proportionalinformation due to feeling the size of the gap changing. In otherembodiments, a flexible material can be used to fill the gap or thedifferential information can be conveyed in other ways, such as puttingtactile ridges on the upper and lower halves.

[0091] Another tactile mouse embodiment provides force feedback on amouse wheel, such as a wheel 206 shown with reference to FIGS. 3a and 3b. A rotary actuator can provide rotational forces about the axis ofrotation of the wheel. A surface providing good friction between theuser's finger and the wheel is well suited to allow the user to feel theforce sensations during control of the wheel. Many force feedback mousewheel embodiments are described in U.S. Pat. No. 6,128,006, which isincorporated herein by reference in its entirety.

[0092] Merging any two or more features of the above embodiments into asingle hybrid design can also be accomplished. Several of the functionsand features can be combined to achieve a single design that, forexample, has the mechanical simplicity of the moving upper housingdesign and the distinct focused or localized feedback of the hapticmouse button. Better hybrid designs incorporate multiple implementationswith reduced numbers of actuators. For example, cost is much reduced ifa single actuator can be used to output forces on the upper shell aswell as a mouse button.

[0093] Component Embodiments

[0094] Any of the above embodiments for a haptic mouse can make use of avariety of types of actuators. The lowest cost actuators providingreasonably high performance are the most desirable for the consumermarket. For example, a small DC rotary motor provides good harmonicactuation with decent bandwidth from DC to about 150 Hz. There are alsomany types of models available.

[0095] A solenoid can also be used. This actuator is not as desirable asthe DC motor since it tends to deliver little haptic value for thematerial and power expense; solenoids are typically not good atproviding constant force over a useful stroke. Solenoids, however, maywork well in some embodiments to generate a digital “pop” or pulseeffect. An off-the-shelf solenoid can be biased to generate aquasi-linear force vs. stroke profile, and the transmission may besimpler in those embodiments requiring linear motion since the solenoidalready provides linear motion.

[0096] A shape memory alloy (SMA) wire with constant current drivecircuit can also be used. This actuator is able to provide forces up to100 Hz, especially “pops” in the range of 30 Hz. This can be a veryforceful actuator; the operation of such a component is well known tothose of skill in the art.

[0097] A speaker or voice coil motor (VCM) can also be used.Off-the-shelf speakers are optimized to move a column of air. The returnpath and bobbin parts that can fit in a mouse housing volume may notproduce enough force or have enough stroke to be useful. However, acustom voice coil can be designed to provide a useful stroke and highoutput force over that stroke. This actuator can operate sufficientlywell and can be manufactured in high volume by leveraging off of anexisting industry, such as the audio voice coil industry.

[0098] For actuator couplings and transmissions, many components may besuitable. For example, a lead screw capable of being back driven can beused to couple a moving member to the actuator. The lead screw in someembodiments can incorporate a spring suspension to center the actuator.A molded flexure linkage driven with an eccentric cam moving in a slotcan also be used. Alternatively, a one piece living hinge linkage(flexure) can be used to eliminate all pin joints and serve as theconnection between the actuator and the housing. Examples of suchflexures are described in copending application Ser. No. 09/585,741 andNo. ______, filed Sep. 28, 2000 and entitled “Device and Assembly forProviding Linear Inertial Sensations,” both incorporated herein byreference in their entirety.

[0099] User Interface Features

[0100]FIG. 8 is a diagram of display screen 26 of host computer 14showing a graphical user interface, which is one type ofcomputer-implemented graphical environment with which the user caninteract using the device of the present invention. The haptic feedbackmouse of the present invention can provide tactile sensations that makeinteraction with graphical objects more compelling and more intuitive.The user typically controls a cursor 400 to select and/or manipulategraphical objects and information in the graphical user interface. Thecursor is moved according to a position control paradigm, where theposition of the cursor corresponds to a position of the mouse in itsplanar (x-y) workspace. Windows 402, 404 and 406 display informationfrom application programs running on the host computer 14. Menu elements408 of a menu 410 can be selected by the user after a menu heading orbutton such as start button 411 is selected. Icons 412 and 414 and weblink 416 are displayed features that can also be selected. Scroll bars,buttons, and other standard GUI elements may also be provided.

[0101] Tactile sensations associated with these graphical objects can beoutput using the actuator(s) of the device based on signals providedfrom the local microprocessor and/or host computer. A variety of hapticsensations that can be output on the housing and/or on a movable elementof the device, and can be associated with GUI elements, includingpulses, vibrations, textures, etc., are described in copendingapplication Ser. Nos. 09/456,887 and 09/504,201, incorporated herein byreference in their entirety.

[0102] There are several desirable user interface features for the mouseembodiments described herein. A high quality, crisp feeling to thesensations, such as pulses' or pops, on graphical objects such as scrollbars and menu items is appealing to users. Feeling a click or pop whenentering or exiting an area on the GUI is helpful to locate the itemhaptically for the user. Tones, i.e. fixed magnitude variable frequencyvibrations, can provide a full range of haptic sensations. High qualityvibrations with varying magnitude and frequency, and good low frequencyperiodic forceful displacements provide a variety of high-quality feelsto graphical objects. Window boundaries can also be associated with aspring under the finger button, in appropriate embodiments.

[0103] Preferably, system events and sounds are mapped to hapticfeedback sensations output by the mouse. Textures can also beimplemented, e.g. x- and y-axis forces mapped to z-axis forces. Texturescan, for example, distinguish window fields and areas or other areas ofthe graphical environment. Haptic feedback can also be output to theuser to confirm the pressing of a key or a button by the user. When anicon or other object is dragged by the cursor, a sensation of iconweight can be implemented as a vibration “tone,” where the tonefrequency indicates weight of the selected object; for example, a lowfrequency vibration signifies a heavy or large graphical object or alarge data size (e.g. in bytes) of a selected or dragged object, while ahigh frequency vibration indicates a small or lightweight object. Toavoid disconcerting jarring effects as the cursor crosses icons, theforce magnitude can be reduced (or otherwise adjusted) as a function ofcursor speed in the GUI.

[0104] Mouse Button Sensations

[0105] Additional user interface features can be provided for particularembodiments. For example, for the embodiment 300 or 270 providing hapticfeedback on a button, several user interface haptic feedback sensationscan be provided. Some compelling haptic sensations do not require aposition sensor to determine a position of the button in its degree offreedom.

[0106] For example, “soft spots” or variable compliance surfaces can beprovided on objects or areas in the GUI. When the user moves the cursorover a button, icon, menu item, or other selectable target (surface,object, or area), the pressing force required by the user to complete abutton actuation is decreased noticeably by reducing resistance force inthat direction of the button and/or providing an assistive force in thatdirection of button motion. This may give the user the perception of anactive detent without using position-based forces to guide the mouse tothe target. A vector force that doubles (or otherwise increases) thestiffness of the button can be used to require a greater pressing forceto actuate the button when the cursor is not positioned over aselectable target or particular types or instances of selectabletargets.

[0107] If a sensor, such as a low-resolution encoder or potentiometer,is added to determine button position in its degree of freedom,additional sensations can be provided. For example, “piercing layers”can provide the user with the sensation of a third dimension into theplane of the screen. The graphical environment or application may haveseveral windows or other objects which are “layered” based on when thewindow was opened and which windows have been made active “over” otherwindows. For example, window 404 is displayed on top of window 406, andwindow 402 is displayed on top of the windows 404 and 406. Typically,only one window is “active” at one time, e.g. accepts input from akeyboard or other input device; for example, the active window can havea differently-colored title bar 403 or other indicator. It can beconvenient to toggle rapidly through such windows (or other types oflayers). The haptic feedback mouse button of the present invention canprovide this functionality by outputting a progressive spring force withdetents overlaid on the spring. When in a layer selection mode, themoving of the button downward causes lower layers to become active,where distinct positions of the button can each be associated with aparticular layer. A detent force or pulse output on the button cantactilely indicates when another layer is to be “punctured” by thecursor and become active.

[0108] For example, positioning the cursor over a blank spot in anactive window 402 can put the mouse and cursor in a layer selectioncontext or mode. The user then presses the mouse button until the cursor“pierces” through the current layer which causes a distinct punctureforce effect such as a detent or jolt, and window 404 (or other object)at a new layer becomes active. Continuing to depress the button to alower position will pierce yet another layer so that window 0.406becomes active, and so on, where each layer provides a puncture effect,such as a small resistance force (so that the user does not accidentallymove the button into the next layer). When the user arrives at thedesired window or layer, the button is released, which informs firmwareor software that a particular number of layers have been punctured andwhich window at a lower layer should be active and displayed on top.Puncturing successive layers can cause the successive windows to appearone after another as the active window. This feature can also be usefulfor application programs having several windows, like SolidWorks™. Sucha feature would alleviate the use of keys or menus to toggle between,for example, part and assembly windows, which can be a distraction forthe user. It can be much faster to pull the cursor to a blank area ofthe screen where puncturing and depressing functions let the userrapidly select the next window without doing any targeting at all. Thisfeature is also applicable to drawing programs, in which the user oftenorganizes a drawing into different layers to allow the user to select,edit, and/or view only the parts of the drawing on a single layer at onetime. A user can access the different drawing layers using the methoddescribed above.

[0109] In some embodiments, if the user releases the button and thendepresses the button again, the “puncture holes” the user previouslymade allow the button to be depressed more easily through thosepreviously-punctured layers and are signaled by significantly diminishedspring or detent forces or distinctly different force profiles. The userknows which layer is enabled by how many decreased-force punctures theuser feels before reaching an unpunctured layer, which has a noticeablyhigher force (a stiff rubber diaphragm is a good analogy). In someembodiments, double clicking on the unpunctured layer causes theselected window to be displayed as the active layer. This examplerequires at least a crude position sensor, perhaps an encoder withseveral (e.g. about 64) counts over the stroke of the actuator. Thevalue of such a feature would depend on how well integrated theapplication is. In one embodiment, an application program or GUI candetermine how many windows are currently open and can spatiallysubdivide the button travel distance accordingly to allow constantspacing between puncture points.

[0110] Another haptic sensation and user interface feature are layerswith inertial or a “turnstile.” In such a layer implementation, a windowor other graphical selected object can be considered to be “attached” tothe mouse button, where moving the mouse button down moves the window“into” the screen to a different, lower layer. For example, when movingthe cursor to a blank area of an active window 402, the user can depressthe button and feel the inertia of the window 402 and push that windowinto the background, behind other windows 404 and 406, so that thewindow 404 at the next highest level becomes active. As the next window404 becomes active, the user feels a detent in the button's Z-axissignifying that the next window is now active. An analogy is a“turnstile” having multiple sections, where as each section becomesactive, the user receives haptic feedback. This could also be used forspin boxes: Animations can show a window that has been “pushed” into thebackground as spinning into the screen and away. The inertial sensationcan be a resistive force on the button and can be related to window sizeor other characteristics of the window. Again, a low-resolution positionsensor is desirable to sense the position of the button in its degree offreedom.

[0111] Another button user interface feature of the present invention isa rate control button. The “layers” described above can be extendedfurther by allowing that the same actuator and displaced surface andsensor assembly can be used to implement rate control at a surfacefunction. For example, the cursor can be moved over a control such as avolume button. The user then moves the mouse button down to a firstdetent or pulse. The detent signifies that the volume control isselected and that a rate control mode has been entered. The user thenmoves the mouse button up or down, and this controls the actual volumelevel. For example, the volume can be adjusted a rate proportional tothe distance of the button from its origin (centered) position. The ratecontrol mode can be exited by, for example, allowing the button to moveto its highest level, by pressing another button, etc. Preferably, aspring force resists the motion of the mouse button in rate control modeto allow greater control by the user.

[0112] Rate control with an active button can also be useful forscrolling documents or other objects. For example, pushing the button agreater distance down (against a spring force) can increase the speed ofscrolling, and allowing the button to move upward can decrease thescrolling speed, similar to the scrolling in the Wingman force feedbackmouse from Logitech Corp. Since most scrolling is vertically oriented inthe GUI, this is well correlated to a vertical button depression and isa natural feature.

[0113] Multiple switch actions can also be implemented using a hapticbutton. While conventional mouse buttons are fixed-movement mechanicalbuttons, the haptic feedback button with a position sensor of thepresent invention can become a huge variety of buttons with differentforce versus depression/actuation profiles implemented in software andusing the actuator. Profiles such as a long stroke with very linearforce or a short stroke with over-center snap action (toggle action) arepossible with the same hardware. Other possibilities include buttonsthat vibrate when the user begins to depress them and then warn the usermore aggressively when the user has slightly moved the button as if heor she is about to click the button.

[0114] Other button effects can be specially tailored for the embodiment270 of FIG. 5, which uses a stop and a rotating eccentric mass toprovide forces on the button. For example, rudimentary layer effects canbe generated which do not involve rapid force reversals of the type feltpiercing through a diaphragm, for instance. If the button is connectedto a position sensor and the eccentric mass can be moved to bear againsta stop anywhere in the movement range of the button, then kinestheticforces (such as springs) can be output in one direction anywhere in thatbutton's range of motion. Clicks (pulses) and pops can be generated bythe inertial coupling of simple mass rotation, which can transmit aharmonic burst into the mouse housing for subtle pops. Alternatively,the mass can be controlled to rapidly engage a stop to generate a harshknock or popping effect.

[0115] Superposition of haptic effects can also be achieved with theembodiment 270. While the actuator is forcing the eccentric mass againsta stop to provide a kinesthetic force on a movable surface (based on aDC drive signal), a high frequency harmonic signal may be applied to theactuator to output a vibration on the movable surface. This would allowthe layers implementation above to include layers having different“tones” (vibrations of different frequencies) when punctured; also, thetone can change frequency as the layer is moved, deformed, ormanipulated. Preferably, the DC signal that forces the mass against thestop is always at least slightly greater in magnitude than the maximumnegative alternation of the superimposed harmonic signal; this preventsthe mass from moving off the stop (negative direction) and moving backinto it and thus avoids a “chatter” of the mass.

[0116] Another control scheme can be provided for a rotating mass withslot and pin action built into the mouse button to manage clicks andpops with more complex effects occurring simultaneously. Such aconfiguration is shown in FIG. 9, where the actuator 450 is coupled to aslot member 452 (mass) having a slot 454. A movable member 456, such asa button or portion of the housing, is coupled to a pin 458 that extendsinto the slot 454. The slot 454 is made wider than the pin, so that theactuator 450 can drive the slot member 452 harmonically withoutcontacting the pin 458 and provide inertial sensations to the housing.In addition, the slot member 452 can engage the pin 458 to move themember 456 and provide kinesthetic forces on the member 456. The controlscheme for superposition of forces would, first, slowly rotate themember 452 against gravity until the pin 458 engages the side of slot454. This can be a default position so that the actuator is instantlyable to respond to force commands without discontinuities. A highcurrent is then commanded to produce a vertical force on the button 456.The current is maintained to maintain the slot member in the upwarddirection, and a harmonic signal is superimposed on the DC signal tooscillate the slot member and provide a vibration on the button inaddition to the kinesthetic force; the DC signal prevents chatter of theslot member against the pin. The current can be turned off to allowgravity to return the slot member to its neutral position.

[0117] While this invention has been described in terms of severalpreferred embodiments, it is contemplated that alterations, permutationsand equivalents thereof will become apparent to those skilled in the artupon a reading of the specification and study of the drawings. Forexample, the various embodiments disclosed herein can provide hapticsensations in a wide variety of types of interface devices, handheld orotherwise. Furthermore, certain terminology has been used for thepurposes of descriptive clarity, and not to limit the present invention.It is therefore intended that the following appended claims includealterations, permutations, and equivalents as fall within the truespirit and scope of the present invention.

What is claimed is:
 1. A haptic feedback mouse device for providing haptic sensations to a user, said haptic feedback mouse device comprising: a housing physically contacted by said user and moveable in an x-y plane; a sensor coupled to said housing and operative to output a sensor signal indicative of said movement in said x-y plane; an actuator coupled to said housing; and an eccentric mass coupled to said actuator, wherein said eccentric mass can be rotated by said actuator, and wherein said rotation of said eccentric mass causes inertial haptic sensations to be output on said housing and felt by said user.
 2. A haptic feedback mouse device as recited in claim 1 wherein said actuator rotates said eccentric mass approximately in an x-z plane, a y-z plane, or a combination thereof.
 3. A haptic feedback mouse device as recited in claim 1 wherein said actuator rotates said eccentric mass approximately in an x-y plane.
 4. A haptic feedback mouse device as recited in claim 1 wherein said inertial force is a pulse correlated with the interaction of a user-controlled cursor with a graphical object displayed in a graphical user interface.
 5. A haptic feedback mouse device as recited in claim 4 wherein said pulse is output with a magnitude dependent on a characteristic of said graphical object with which said cursor interacts.
 6. A haptic feedback mouse device as recited in claim 1 wherein said force is included in a force sensation, said force sensation being one of a pulse, vibration, and texture force.
 7. A haptic feedback mouse device as recited in claim 1 further comprising a microprocessor, separate from said host computer, coupled to said sensor and to said actuator, said microprocessor operative to receive host commands from said host computer and output force signals to said actuator for controlling said inertial force, and operative to receive said sensor signal from said sensor, process said sensor signal, and report locative data to said host computer derived from said sensor signal and indicative of said movement of said mouse.
 8. A haptic feedback mouse device as recited in claim 1 wherein said sensor includes a ball that frictionally contacts a surface on which said housing is moved by said user.
 9. A haptic feedback mouse device as recited in claim 1 wherein said sensor includes an optical sensor that detects motion of a surface on which said housing is moved relative to said housing of said mouse.
 10. A haptic feedback mouse device as recited in claim 1 wherein said actuator is controlled harmonically with a drive signal input to rotate said eccentric mass in two directions and produce an inertial vibration.
 11. A haptic feedback device for providing haptic sensations to a user, said haptic feedback device comprising: a housing physically contacted by said user, wherein said housing includes a movable portion and a base portion, wherein said movable portion is movable with respect to said base portion; and wherein said moveable portion includes a magnet; an actuator coupled to said housing; and an eccentric mass coupled to said actuator, wherein said eccentric mass can be rotated by said actuator, and wherein a magnetic interaction between said eccentric mass and said magnet causes an inertial haptic sensation to be output on said movable portion of said housing and felt by said user when said user contacts said movable portion, said inertial haptic sensation influenced by the position of said eccentric mass.
 12. A haptic feedback device as recited in claim 11 wherein said movable portion is a button on said haptic feedback device, and said base portion is a remaining portion of said housing, said button operative to close a switch when pressed by said user, said switch outputting a button signal.
 13. A haptic feedback device as recited in claim 11 wherein said haptic feedback device is a mouse and wherein said housing is movable in an x-y plane by said user.
 14. A haptic feedback device as recited in claim 11 wherein said eccentric mass is made of a material that interacts magnetically with said magnet.
 15. A haptic feedback device as recited in claim 14 wherein said eccentric mass is made of iron or steel.
 16. A haptic feedback device as recited in claim 15 wherein said eccentric mass is made of a permanently-magnetic material.
 17. A haptic feedback device as recited in claim 11 wherein said eccentric mass is rotated in a x-z plane or a y-z plane.
 18. A haptic feedback device as recited in claim 11 wherein said haptic feedback device includes an inertial mode, wherein said eccentric mass is rotated to provide inertial haptic sensations to said housing caused by said rotation, and wherein said haptic feedback device includes a kinesthetic mode, wherein said eccentric mass is rotated to a particular position to provide a force on said movable portion based on said position of said eccentric mass.
 19. A haptic feedback device as recited in claim 18 wherein said eccentric mass is controlled to provide a spring force on said movable portion.
 20. A haptic feedback device as recited in claim 18 wherein said eccentric mass is controlled to provide a resistance force on said movable portion.
 21. A haptic feedback device as recited in claim 11 wherein said haptic feedback device is a gamepad.
 22. A haptic feedback device for providing haptic sensations to a user, said haptic feedback device comprising: a housing physically contacted by said user, wherein said housing includes a movable portion and a base portion, wherein said movable portion is movable with respect to said base portion; an actuator coupled to said housing or to said movable portion; a mass coupled to said actuator, wherein said mass can be rotated by said actuator; and a stop member coupled to said movable portion if said actuator is coupled to said housing, or to said housing if said actuator is coupled to said movable portion, wherein said stop member is positioned at least partially in a path of rotation of said mass, and wherein said mass is moved against said stop to produce haptic sensations on said movable portion that are felt by said user contacting said movable portion.
 23. A haptic feedback device as recited in claim 22 wherein said mass is an eccentric mass.
 24. A haptic feedback device as recited in claim 22 wherein said haptic feedback device is a mouse.
 25. A haptic feedback device as recited in claim 22 further comprising a sensor coupled to said housing and operative to output a sensor signal indicative of movement of said housing in an x-y plane.
 26. A haptic feedback device as recited in claim 22 wherein said movable portion is a button of said device, said button operative to close a switch when pressed by said user, said switch outputting a button signal.
 27. A haptic feedback device as recited in claim 24 wherein said actuator is coupled to said movable portion and wherein said stop member is coupled to said housing.
 28. A haptic feedback device as recited in claim 22 wherein said stop member is a first stop member, and further comprising a second stop member coupled to said same movable portion or said housing to which said first stop member is coupled, wherein said first and second stop members define a rotatable range for said mass.
 29. A haptic feedback device as recited in claim 22 wherein said actuator is controlled harmonically with a drive signal input to rotate said eccentric mass in two directions and produce a vibration.
 30. A haptic feedback device as recited in claim 22 wherein said haptic feedback device includes an inertial mode, wherein said eccentric mass is rotated harmonically away from said stop to provide inertial haptic sensations to said housing caused by said rotation.
 31. A haptic feedback device as recited in claim 22 wherein said haptic feedback device includes a kinesthetic mode, wherein said eccentric mass is rotated against said stop member to output a force on said movable portion.
 32. A haptic feedback device as recited in claim 22 wherein a vibration is induced in said housing by impacting said mass against said stop periodically.
 33. A haptic feedback mouse device for providing haptic sensations to a user, said haptic feedback mouse device comprising: a device housing physically contacted by said user and movable in an x-y plane, wherein said device housing includes a movable portion and a main housing portion, wherein said movable portion is movable with respect to said main housing portion; a moving magnet actuator having an actuator housing coupled to said device housing and a moving magnet coupled to said movable portion; and a sensor coupled to said housing and operative to output a sensor signal indicative of said movement in said x-y plane.
 34. A haptic feedback mouse device as recited in claim 33 wherein said movable portion includes a button of said mouse device, said button operative to close a switch when pressed by said user, said switch outputting a button signal.
 35. A haptic feedback mouse device as recited in claim 34 further comprising a physical spring that biases said button near to a center of a degree of freedom of said button.
 36. A haptic feedback mouse device as recited in claim 34 wherein said haptic feedback mouse is in communication with a host computer, said host computer displaying a graphical environments including a hierarchy of graphical objects, wherein said user can select one of said graphical objects in said hierarchy by moving said movable portion, wherein a haptic sensation indicates to said user a selection of each of said graphical objects in said hierarchy.
 37. A haptic feedback mouse device as recited in claim 36 wherein said graphical objects in said hierarchy are windows, each of said windows provided above or below another window in said hierarchy.
 38. A haptic feedback mouse ‘device as recited’ in claim 37 wherein motion of said movable portion causes a selected graphical object to be moved within said hierarchy.
 39. A haptic feedback mouse device for providing haptic sensations to a user, said haptic feedback mouse device comprising: a device housing physically contacted by said user and movable in an x-y plane, wherein said device housing includes a movable portion and a main portion, wherein at least part of said movable portion is positioned on a side of said housing and is movable with respect to said main portion; a linear actuator having an actuator housing coupled to said device housing and an actuated portion coupled to said movable portion, wherein said linear actuator moves said movable portion of said device housing linearly away from said main portion of said housing when controlled with a control signal, thereby providing a haptic sensation to a user contacting said movable portion; and a sensor coupled to said housing and operative to output a sensor signal indicative of said movement in said x-y plane.
 40. A haptic feedback mouse device as recited in claim 39 wherein said movable portion engages a thumb of said user in normal operation of said mouse device.
 41. A haptic feedback mouse device as recited in claim 39 wherein said movable portion is a first movable portion, and wherein said device housing includes a second movable portion, wherein at least part of said second movable portion is movable with respect to said main portion, and wherein said second movable portion is moved by a second linear actuator to provide a haptic sensation to said user contacting said second movable portion.
 42. A haptic feedback mouse device as recited in claim 41 wherein said first movable portion outputs haptic sensations applicable for an x-axis of said mouse device, and said second movable portion outputs haptic sensations applicable for a y-axis of said mouse device.
 43. A haptic feedback mouse device as recited in claim 39 wherein said haptic sensation is a pulse correlated with the interaction of a user-controlled cursor with a graphical object displayed in a graphical user interface.
 44. A haptic feedback mouse device as recited in claim 39 wherein said haptic sensation is one of a pulse, vibration, and texture force.
 45. A haptic feedback mouse device as recited in claim 39 further comprising a microprocessor coupled to said sensor and to said actuator, said microprocessor operative to receive host commands from a host computer in communication with said mouse device, operative to output force signals to said actuator for controlling said haptic sensation, and operative to receive said sensor signal from said sensor, process said sensor signal, and report locative data to said host computer derived from said sensor signal and indicative of said movement of said device housing. 